1. Field of the Invention
The present invention relates generally to a mobile communication system, and in particular, to an apparatus and method for encoding and decoding a space-time Low Density Parity Check (LDPC) code having a full diversity gain.
2. Description of the Related Art
In communications, it is most important to efficiently and reliably transmit data over a channel. In the next generation multimedia mobile communication into which active research is currently being made, it is necessary to increase system efficiency using a channel coding technique appropriate for the system, as there is an increased demand for a high-speed communication system capable of processing and transmitting a variety of information such as image and radio data beyond that of the early voice-oriented service.
Unlike a wired channel environment, a wireless channel environment existing in a wireless communication system inevitably from suffers errors caused by various conditions such as multipath interference, shadowing, propagation attenuation, interference, and fading. These errors commonly cause an information loss in the transmitted data. The information loss seriously distorts actual transmission signals, causing a reduction in entire performance of the mobile communication system.
Generally, in order to reduce the information loss, various error-control techniques are used according to characteristics of channels to increase reliability of the mobile communication system. The most typical error-control technique uses an error correction code.
Mobile communication systems use diversity schemes in order to remove communication instability caused by fading, and a space diversity scheme, one of the diversity schemes, uses multiple antennas.
Generally, the space diversity schemes are classified into a reception diversity scheme using multiple reception antennas, a transmission diversity scheme using multiple transmission antennas, and a Multiple-Input Multiple-Output (MIMO) scheme using multiple reception antennas and multiple transmission antennas. The MIMO scheme is a kind of Space-Time Coding (STC) scheme, and the STC scheme extends a time-domain coding scheme to a space-domain coding scheme by transmitting signals encoded with a predetermined coding scheme using multiple transmission antennas, thereby achieving a low error rate.
FIG. 1 is a block diagram schematically illustrating a transmitter in a conventional mobile communication system using an STC scheme. Referring to FIG. 1, the transmitter includes an encoder 110, a spatial mapper 120, a plurality of signal mappers of first to Mth signal mappers 130-1-to 130-M, and a plurality of transmission antennas (Tx.ANT) of first to Mth transmission antennas Tx.ANT#1 to Tx.ANT#M.
Upon receiving information data, the encoder 110 encodes the received information data into coded symbols at a predetermined coding rate with a predetermined coding scheme, and outputs the coded symbols to the spatial mapper 120. For example, if the information data is comprised of k bits and the coding rate is k/N, the encoder 110 encodes the k-bit information data into N coded symbols.
The spatial mapper 120 spatial-maps the coded symbols output from the encoder 110 with a predetermined spatial mapping scheme such that the coded symbols can be transmitted via the M transmission antennas, and outputs the spatial-mapped signals to their associated signal mappers. There are various possible spatial mapping schemes used by the spatial mapper 120, and it will be assumed in FIG. 1 that the spatial mapper 120 spatial-maps the coded symbols output from the encoder 110 in their output order. For example, if it is assumed that a coded symbol stream output from the encoder 110 is C=[c1,c2, . . . ,cN], an output of the spatial mapper 120 becomes an
  M  ×      N    M  space-time codeword matrix defined as Equation (1).
                    C        =                  [                                                                      c                  1                                                                              c                                      M                    +                    1                                                                              …                                                              c                                      N                    -                    M                    +                    1                                                                                                                        c                  2                                                                              c                                      M                    +                    2                                                                              …                                                              c                                      N                    -                    M                    +                    2                                                                                                      …                                                                                                                                                                                                                                                                                                                                c                  M                                                                              c                                      M                    +                    M                                                                              …                                                              c                  N                                                              ]                                    (        1        )            
Because the number of the transmission antennas is M, the spatial mapper 120 sequentially spatial-maps the coded symbols output from the encoder 110 in their output order, divides the spatial-mapped symbols into M signals, and outputs the M signals to the first to Mth signal mappers 130-1 to 130-M associated thereto. The first to Mth signal mappers 130-1 to 130-M each signal-map the signals output from the spatial mapper 120 with a predetermined signal mapping scheme, and transmit the signal-mapped signals over the air via their associated transmission antennas Tx.ANT#1 to Tx.ANT#M. Here, the first to Mth signal mappers 130-1 to 130-M each signal-map input signals according to a constellation for the predetermined signal mapping scheme, and output the signal-mapped signals to the first to Mth transmission antennas Tx.ANT#1 to Tx.ANT#M, respectively. Each of the first to Mth signal mappers 130-1 to 130-M signal-maps an input signal with a Binary Phase Shift Keying (BPSK) scheme, which shifts a phase in association with a transmission sign using a carrier having constant amplitude and phase, if the number of bits constituting the input signal is n=1; signal-maps the input signal with a Quadrature Phase Shift Keying (QPSK) scheme, if the number of bits constituting the input signal is n=2; and signal-maps the input signal with an 8-ary Quadrature Amplitude Modulation (8QAM) scheme if the number of bits constituting the input signal is n=3.
In FIG. 1, because k-bit information data is transmitted via M transmission antennas, its coding rate is
  M  ×            k      M        .  
FIG. 2 is a block diagram schematically illustrating a receiver in a conventional mobile communication system using an STC scheme. Referring to FIG. 2, the receiver includes a plurality of reception antennas Rx.ANT of first to Pth reception antennas Rx.ANT#1 to Rx.ANT#P, a detector 210, a spatial demapper 220, a space-time decoder 230, and a spatial mapper 240. Although it is assumed in FIG. 2 that the number P of reception antennas in the receiver is different from the number M of transmission antennas in the transmitter, the number of reception antennas in the receiver may be equal to the number of transmission antennas in the transmitter.
The signals transmitted by the transmitter via a plurality of transmission antennas (the first to Mth transmission antennas Tx.ANT#1 to Tx.ANT#M) are received at the receiver through the first to Pth reception antennas. The first to Pth reception antennas output their received signals to the detector 210. The detector 210 detects transmission signals transmitted by the first to Mth transmission antennas from the received signals output from the first to Pth reception antennas, and outputs the detected transmission signals to the spatial demapper 220.
The spatial demapper 220 spatial-demaps the signals output from the detector 210 with a spatial demapping scheme corresponding to the spatial mapping scheme used in the transmitter, and outputs the spatial-demapped signal to the space-time decoder 230. The space-time decoder 230 decodes the signal output from the spatial-demapper 220 with a decoding scheme corresponding to the coding scheme used in the transmitter. When there is no error caused by the wireless channel environment, the signal output from the space-time decoder 230 is equal to the information data in the transmitter. Actually, however, because errors occur in the wireless channel environment, the space-time decoder 230 can perform iterative decoding for reliable decoding.
For the iterative decoding, the space-time decoder 230 outputs the signal decoded with a decoding scheme corresponding to the coding scheme used in the transmitter, to the spatial mapper 240. The spatial mapper 240 spatial-maps the signal output from the space-time decoder 230 with a spatial mapping scheme corresponding to the spatial mapping scheme used in the transmitter, and outputs the spatial-mapped signal to the detector 210 in order to perform iterative decoding. The application of the iterative decoding increases the decoding reliability of information data. Thereafter, the signal decoded in the space-time decoder 230 through the iterative decoding is output as the information data.
The term “space-time code” refers to a code encoded with the STC scheme, and the STC scheme, as described above, supplementally acquires additional information by extending a time-domain coding scheme to a space-domain coding scheme. That is, the STC scheme not only reduces an error rate by providing additional information in the time domain, but also increases a diversity gain in the space domain, thereby enabling correct signal decoding. Because the diversity gain corresponds to a slope of a signal-to-noise ratio (SNR) and an error rate of a space-time code, expressed with a log scale, when the space-time code is designed, maximization of the diversity gain (hereinafter, referred to as “full diversity gain”) is the most important factor for determining performance of the space-time code.
In order to acquire the full diversity gain, the following Space-Time Code Design Conditions 1-3 should be satisfied in a process of designing the space-time code.
Space-Time Code Design Condition 1
In order to obtain the full diversity gain, a matrix B(c,e) should have a full rank for particular space-time codeword ‘c’ and space-time codeword ‘e’. Here, the matrix B(c,e) is a matrix representing a difference between the space-time codeword ‘c’ and the space-time codeword ‘e’.
Space-Time Code Design Condition 2 should be satisfied, especially when signals are mapped using the BPSK scheme.
Space-Time Code Design Condition 2
A space-time codeword has a full diversity gain, when all non-zero space-time codeword matrixes ‘c’ have a full rank in a binary field.
Space-Time Code Design Condition 3 should be satisfied, especially when signals are mapped using the QPSK scheme.
Space-Time Code Design Condition 3
A space-time codeword has a full diversity gain, when a space-time codeword matrix Φ(c) obtained by mapping all non-zero space-time codeword matrixes ‘c’ in a binary field has a full rank.
As described above, the space-time code is designed to have a full rank in order to acquire a full diversity gain. That is, the space-time code is designed such that its generation matrix (G) has a full rank.
The next generation communication system is developing into an advanced communication system providing high-speed, high-capacity data services having various qualities-of-service (QoS). In the high-speed, high-capacity data services, an information loss during transmission is fatal to the services. Therefore, error correction capability of the error correction code functions as an important factor of determining the entire QoS. Typically, the error correction code includes a turbo code and a low density parity check (LDPC) code.
It is well known that the LDPC code is superior in performance gain to a convolutional code that is conventionally used for error correction, during high-speed data transmission. More specifically, the LDPC code is advantageous in that it can efficiently correct an error caused by noises occurring in a wireless channel, thereby increasing the reliability of data transmission. In addition, the LDPC code can be decoded using an iterative decoding algorithm based on a sum-product algorithm on a factor graph. Because a decoder for the LDPC code uses the sum-product algorithm-based iterative decoding algorithm, it is lower in complexity to a decoder for the turbo code. In addition, the decoder for the LDPC code is easy to implement a parallel processing decoder, as compared with the decoder for the turbo code.
The turbo code has excellent performance approximating a channel capacity limit of Shannon's channel coding theorem, and the LDPC code known to have the highest performance shows performance having a difference of only about 0.04 [dB] at a channel capacity limit of Shannon's channel coding theorem at a bit error rate (BER) 10−5, using a block size 107. Shannon's channel coding theorem shows that reliable communication is possible only at a data rate not exceeding a channel capacity.
Generally, although a random code having a very large block size shows performance approximating a channel capacity limit of Shannon's channel coding theorem, when a MAP (Maximum A Posteriori) or ML (Maximum Likelihood) decoding method is used, it is actually impossible to implement the decoding method because of its heavy calculation load.
The LDPC code is defined by a parity check matrix in which the majority of elements have a zero value and a minority of elements except the elements having the zero value has a non-zero value, for example, a value of 1. In the following description, it will be assumed that a non-zero value is a value of 1. Because the parity check matrix of the LDPC code has a small weight, it is possible to perform decoding through iterative decoding even in a block code having a relatively long length. If a block length of the block code is continuously increased, the block code exhibits performance approximating a capacity limit of a Shannon channel, like the turbo code. Herein, the term “weight” refers to the number of elements having a non-zero value among the elements constituting the parity check matrix. Therefore, the next generation communication system tends to actively use the LDPC code as the error correction code.
However, when the LDPC code performs encoding using the generation matrix like the space-time code, performance of the LDPC code cannot be guaranteed. That is, the LDPC code, as described above, is advantageous in that it has low decoding complexity because of the small weight of the parity check matrix, but when the parity check matrix is converted to a generation matrix, a weight of the generation matrix increases, causing an increase in decoding complexity.
As a result, when the space-time code is designed using the LDPC code, it is difficult to apply the foregoing design conditions proposed for the generation matrix of a general space-time code. Therefore, there is a demand for a scheme in which a space-time code using the LDPC code can acquire the full diversity gain, i.e., for a parity check matrix capable of acquiring the full diversity gain.